package com.jic.point.mapper;

import com.jic.point.model.entity.ConfThirdPart;
import com.jic.point.rest.request.SignData;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

public interface ConfThirdPartMapper {
    /**
     * CONF_THIRD_PART插入数据
     *
     * @param confThirdPart 入参实体类
     */
    int insert(ConfThirdPart confThirdPart);

    /**
     * CONF_THIRD_PART插入数据
     *
     * @param confThirdPart 入参实体类
     */
    int insertSelective(ConfThirdPart confThirdPart);


    /**
     * CONF_THIRD_PART根据表对象数据修改数据
     *
     * @param confThirdPart 入参实体类
     */
    int updateByPrimaryKey(ConfThirdPart confThirdPart);

    /**
     * CONF_THIRD_PART根据表对象数据修改数据 将delete-flag修改为0
     *
     * @param confThirdPart 入参实体类
     */
    int updateByPrimaryKeyApply(ConfThirdPart confThirdPart);

    /**
     * CONF_THIRD_PART根据表对象数据修改数据
     *
     * @param confThirdPart 入参实体类
     */
    int updateByPrimaryKeySelective(ConfThirdPart confThirdPart);

    /**
     * CONF_THIRD_PART根据id删除数据
     *
     * @param confThirdPart 入参实体类
     */
    int deleteByPrimaryKey(ConfThirdPart confThirdPart);

    /**
     * CONF_THIRD_PART根据主键查询数据
     *
     * @param confThirdPart 入参实体类
     */
    ConfThirdPart selectByPrimaryKey(ConfThirdPart confThirdPart);

    /**
     * CONF_THIRD_PART根据主键查询数据
     *
     * @param confThirdPart 入参实体类
     */
    List<ConfThirdPart> listPageBySelective(ConfThirdPart confThirdPart);

    /**
     * CONF_THIRD_PART查询数据
     *
     * @param confThirdPart 入参实体类
     */
    List<ConfThirdPart> selectBySelective(ConfThirdPart confThirdPart);

    /**
     * 根据主表 code删除
     *
     * @param confThirdPart
     * @return
     */
    int deleteFlagTemplate(ConfThirdPart confThirdPart);

    int updateByCode(ConfThirdPart confThirdPart);

    /**
     * @Auther: YGH
     * @DATE: 2020/11/27
     * 根据code查询第三方机构
     */
    List<ConfThirdPart> selThirdPartByCode(SignData signData);

    BigDecimal queryAvailablePoint(@Param("code") String busiCode);

    /**
     * 查询汇率
     * @param deptId
     * @return
     */
   ConfThirdPart selectBydeptId(@Param("deptId")Long deptId);

    List<ConfThirdPart> frozenListPageBySelective(ConfThirdPart request);
}
